/*
 * Sycloud.com Inc.
 * Copyright (c) 2005-2066 All Rights Reserved.
 */
package com.insigma.business.qrcode.welfare._bff;



import com.insigma.business.qrcode.common.annotation.ApiServiceType;
import com.insigma.business.qrcode.common.template.BasePagingResponse;
import com.insigma.business.qrcode.common.vo.BaseDeleteRequest;
import com.insigma.business.qrcode.common.vo.BaseResponse;
import com.insigma.business.qrcode.soldier.request.BaseGetRequest;
import com.insigma.business.qrcode.welfare.dto.CareWelfareServiceOrganizationDTO;
import com.insigma.business.qrcode.welfare.request.CareWelfareServiceOrganizationInsertRequest;
import com.insigma.business.qrcode.welfare.request.CareWelfareServiceOrganizationSearchRequest;
import com.insigma.business.qrcode.welfare.request.CareWelfareServiceOrganizationUpdateRequest;

import java.util.List;

/**
 * 福利-服务机构服务提供接口
 * @author juffett
 * @version $Id: CareWelfareServiceOrganizationBFFProvider.java, v 1.0.0 2021-9-9 14:45:13 juffett Exp $
 */
public interface CareWelfareServiceOrganizationBFFProvider {

    /**
     * 查询数据列表
     *
     * @param careWelfareServiceOrganizationSearchRequest
     * @return
     */
    @ApiServiceType(value = "all.ss.service.org.search", name = "查询数据列表", desc = "查询数据列表")
    BasePagingResponse<List<CareWelfareServiceOrganizationDTO>> searchCareWelfareServiceOrganization(final CareWelfareServiceOrganizationSearchRequest careWelfareServiceOrganizationSearchRequest);

   /**
    * 得到合法的非逻辑删除对象
    *
    * @param baseGetRequest
    * @return
    */
   @ApiServiceType(value = "all.ss.service.org.view", name = "得到合法的非逻辑删除对象", desc = "得到合法的非逻辑删除对象")
   BaseResponse<CareWelfareServiceOrganizationDTO> getCareWelfareServiceOrganization(final BaseGetRequest baseGetRequest);

    /**
     * 插入数据
     *
     * @param careWelfareServiceOrganizationInsertRequest)
     * @return
     */
    BaseResponse<String> insertCareWelfareServiceOrganization(CareWelfareServiceOrganizationInsertRequest careWelfareServiceOrganizationInsertRequest);

    /**
     * 更新数据
     *
     * @param careWelfareServiceOrganizationUpdateRequest
     * @return
     */
    BaseResponse<Integer> updateCareWelfareServiceOrganization(CareWelfareServiceOrganizationUpdateRequest careWelfareServiceOrganizationUpdateRequest);

    /**
     * 删除数据
     *
     * @param deleteRequest
     * @return
     */
    @ApiServiceType(value = "gov.ss.service.org.delete", name = "删除数据", desc = "删除数据", opsLog = "优待组织")
    BaseResponse<Integer> deleteCareWelfareServiceOrganization(final BaseDeleteRequest deleteRequest);

    /**
     * 发布和取消发布
     * @param request
     * @return
     */
    BaseResponse<Integer> publishOrg(CareWelfareServiceOrganizationUpdateRequest request);

 }
